Technical Field
The present disclosure pertains to the field of processing apparatuses and associated software and software sequences that perform mathematical operations.
Background Information
Improving the performance of computer or other processing systems generally improves overall throughput and/or provides a better user experience. One area of concern is processing of image data. As computer and other processing systems handle larger amounts of video or image data, techniques to expedite such processing grow in importance.
Video data may be represented in the form of pixels. One example format for a pixel is the Red, Green, Blue (RGB) format. The number of bits used to represent a pixel may vary according to the particular system. For example, a twenty-four bit RGB representation may dedicate eight bits to each component. The RGBA format is another popular format that includes “alpha” information, a transparency indicator. An alpha channel number specifies the transparency of the particular pixel in a range from 0 (fully opaque) to 255 (completely transparent). Other formats may also be used such as the luminance (YUV) format or any other known or otherwise available format.
Processing of pixels may be performed in formats other than their pixel (e.g., integer) representation. For example, to perform some mathematical operations on pixel values, conversion to a floating point representation first may be desirable. Various high level languages (e.g., C, Java, etc.) may provide instructions can be used to convert a pixel value in an integer format to another type of format. These high level languages, however, by their nature are broken down into native instruction sequences and may not guaranty parallelism or efficiency in carrying out the conversion.
On the other hand, software sequences written in the native language of a processing device may be written to perform processing of such pixels. However such native language sequences are constrained by the instruction set of the processing device. If the processing device does not offer instructions to efficiently process values such as pixel values, then it may be difficult to construct an efficient software sequence. Some prior art processors include a variety of conversion instructions. For example, the Intel Pentium® 4 Processor includes convert instructions such as those detailed in the IA-32 Intel Architecture Software Developer's Manual: Vol. 2: Instruction Set Reference (document number 2454761). However, additional conversions may be useful under some conditions and for some applications such as conversion and processing of image data.